package ${model.packageFullName};

import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ace.cmp.rest.spring.data.jdbc.querydsl.core.controller.admin.AbstractAdminRestController;
import ace.cmp.rest.spring.data.jdbc.querydsl.core.controller.sdk.AbstractSdkRestController;
import ace.cmp.security.oauth2.resource.server.core.annotation.PreAuthorizeIsInternalClient;
import ace.cmp.security.oauth2.resource.server.core.annotation.PreAuthorizeIsUserAuthenticated;
import ${model.entityClassFullName};

/**
* ${model.entityClassRemark} admin controller.
*
* @author Caspar
*/
@Tag(name = "${model.entityClassRemark}-管理-API")
@PreAuthorizeIsUserAuthenticated
@AllArgsConstructor
@RestController
@RequestMapping(${model.className}.PATH)
@Valid
public class ${model.className} extends AbstractAdminRestController<${model.entityClassName}, ${model.entityIdType}> {
    public static final String PATH = "/${model.restNamespace}/${model.entityClassNameLowercaseDashName}";
}